package club.pojo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;

/**
 * Answer 类用于表示用户对评论进行回复的实体类。
 *
 * - id: 回复ID
 * - userId: 回复者用户ID
 * - replayId: 如果是回复另一条回复，则记录该回复的ID
 * - commentId: 被回复的评论ID
 * - answerTime: 回复时间，使用 @JsonFormat 和 @DateTimeFormat 注解将日期格式化为 "yyyy-MM-dd" 格式，时区为 GMT+8。
 * - content: 回复的内容
 *
 * 下面三个属性使用 @TableField(exist = false) 注解，表示在数据库表中不存在，仅在程序中临时使用：
 * - user: 回复者用户对象，用于临时存储回复者的用户信息
 * - answer: 如果是回复另一条回复，则临时存储被回复的回复对象信息
 * - comment: 被回复的评论对象，用于临时存储被回复的评论信息
 */
@Data
public class Answer {
    private Integer id;
    private Integer userId;
    private Integer replayId;
    private Integer commentId;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date answerTime;
    private String content;

    @TableField(exist = false)
    private User user;
    @TableField(exist = false)
    private Answer answer;
    @TableField(exist = false)
    private Comment comment;

}
